iT邦幫忙

2023 iThome 鐵人賽

DAY 7
0
Modern Web

使用 Clojure 當個 Full-stack 開發者系列 第 7

[Day 7] 堆積木的第一天

  • 分享至 

  • xImage
  •  

在第一天提到了要反璞歸真,所以今天開就從web server的lib開始慢慢的往上堆疊啦

本來的想要嘗試的是使用nginx-clojure,但無奈這兩天沒有搞起來

但無損繼續完成鐵人賽的目標!!

就來用ring,我們公司的專案是使用http-kit,所以對我來說也算新的嘗試~

我們直接在user這個檔案裡加上我們需要的伺服器 [ring.adapter.jetty :as jetty]

這先用簡單的handler,明天再來加routing。

基本的啟動伺服器要注意一下 join? 設定成false,不然會block我們的repl

然後我這邊多加了一個wrap-reload的middleware,等等就能展現能力了

start-server 我們看到 [dev? port],分別對應要傳入兩個參數

所以就在repl直接輸入 (start-server true 7777)

就可以開dev mode跟port在7777上

要停止就只需要(stop-server)

另外就是展現一下reload

我們可以看到一開始的 localhost:7777 是會顯示 Hello World 9898

但你隨便修改BODY,然後evaluate(我是習慣使用Evaluate top level form,在mac是option+enter)

再回瀏覽器refresh,東西就改變了

他沒有重啟整個jvm(而且重啟會很慢),單純就是發src的目錄下有變,就去更新那個app,其他都不會被影響


上一篇
[Day 6] 實踐是檢驗真理的唯一標準
下一篇
[Day 8] 堆積木之你要去哪裡
系列文
使用 Clojure 當個 Full-stack 開發者30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言